package com.aicoq.example.stock.persist.model.example;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class StockDayInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StockDayInfoExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSymbolIsNull() {
            addCriterion("symbol is null");
            return (Criteria) this;
        }

        public Criteria andSymbolIsNotNull() {
            addCriterion("symbol is not null");
            return (Criteria) this;
        }

        public Criteria andSymbolEqualTo(String value) {
            addCriterion("symbol =", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotEqualTo(String value) {
            addCriterion("symbol <>", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolGreaterThan(String value) {
            addCriterion("symbol >", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolGreaterThanOrEqualTo(String value) {
            addCriterion("symbol >=", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLessThan(String value) {
            addCriterion("symbol <", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLessThanOrEqualTo(String value) {
            addCriterion("symbol <=", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLike(String value) {
            addCriterion("symbol like", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotLike(String value) {
            addCriterion("symbol not like", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolIn(List<String> values) {
            addCriterion("symbol in", values, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotIn(List<String> values) {
            addCriterion("symbol not in", values, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolBetween(String value1, String value2) {
            addCriterion("symbol between", value1, value2, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotBetween(String value1, String value2) {
            addCriterion("symbol not between", value1, value2, "symbol");
            return (Criteria) this;
        }

        public Criteria andOccurDateIsNull() {
            addCriterion("occur_date is null");
            return (Criteria) this;
        }

        public Criteria andOccurDateIsNotNull() {
            addCriterion("occur_date is not null");
            return (Criteria) this;
        }

        public Criteria andOccurDateEqualTo(Integer value) {
            addCriterion("occur_date =", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateNotEqualTo(Integer value) {
            addCriterion("occur_date <>", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateGreaterThan(Integer value) {
            addCriterion("occur_date >", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateGreaterThanOrEqualTo(Integer value) {
            addCriterion("occur_date >=", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateLessThan(Integer value) {
            addCriterion("occur_date <", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateLessThanOrEqualTo(Integer value) {
            addCriterion("occur_date <=", value, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateIn(List<Integer> values) {
            addCriterion("occur_date in", values, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateNotIn(List<Integer> values) {
            addCriterion("occur_date not in", values, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateBetween(Integer value1, Integer value2) {
            addCriterion("occur_date between", value1, value2, "occurDate");
            return (Criteria) this;
        }

        public Criteria andOccurDateNotBetween(Integer value1, Integer value2) {
            addCriterion("occur_date not between", value1, value2, "occurDate");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andTradeIsNull() {
            addCriterion("trade is null");
            return (Criteria) this;
        }

        public Criteria andTradeIsNotNull() {
            addCriterion("trade is not null");
            return (Criteria) this;
        }

        public Criteria andTradeEqualTo(String value) {
            addCriterion("trade =", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeNotEqualTo(String value) {
            addCriterion("trade <>", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeGreaterThan(String value) {
            addCriterion("trade >", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeGreaterThanOrEqualTo(String value) {
            addCriterion("trade >=", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeLessThan(String value) {
            addCriterion("trade <", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeLessThanOrEqualTo(String value) {
            addCriterion("trade <=", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeLike(String value) {
            addCriterion("trade like", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeNotLike(String value) {
            addCriterion("trade not like", value, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeIn(List<String> values) {
            addCriterion("trade in", values, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeNotIn(List<String> values) {
            addCriterion("trade not in", values, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeBetween(String value1, String value2) {
            addCriterion("trade between", value1, value2, "trade");
            return (Criteria) this;
        }

        public Criteria andTradeNotBetween(String value1, String value2) {
            addCriterion("trade not between", value1, value2, "trade");
            return (Criteria) this;
        }

        public Criteria andPriceChangeIsNull() {
            addCriterion("price_change is null");
            return (Criteria) this;
        }

        public Criteria andPriceChangeIsNotNull() {
            addCriterion("price_change is not null");
            return (Criteria) this;
        }

        public Criteria andPriceChangeEqualTo(BigDecimal value) {
            addCriterion("price_change =", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeNotEqualTo(BigDecimal value) {
            addCriterion("price_change <>", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeGreaterThan(BigDecimal value) {
            addCriterion("price_change >", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price_change >=", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeLessThan(BigDecimal value) {
            addCriterion("price_change <", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price_change <=", value, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeIn(List<BigDecimal> values) {
            addCriterion("price_change in", values, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeNotIn(List<BigDecimal> values) {
            addCriterion("price_change not in", values, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price_change between", value1, value2, "priceChange");
            return (Criteria) this;
        }

        public Criteria andPriceChangeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price_change not between", value1, value2, "priceChange");
            return (Criteria) this;
        }

        public Criteria andChangePercentIsNull() {
            addCriterion("change_percent is null");
            return (Criteria) this;
        }

        public Criteria andChangePercentIsNotNull() {
            addCriterion("change_percent is not null");
            return (Criteria) this;
        }

        public Criteria andChangePercentEqualTo(BigDecimal value) {
            addCriterion("change_percent =", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentNotEqualTo(BigDecimal value) {
            addCriterion("change_percent <>", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentGreaterThan(BigDecimal value) {
            addCriterion("change_percent >", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("change_percent >=", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentLessThan(BigDecimal value) {
            addCriterion("change_percent <", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("change_percent <=", value, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentIn(List<BigDecimal> values) {
            addCriterion("change_percent in", values, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentNotIn(List<BigDecimal> values) {
            addCriterion("change_percent not in", values, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("change_percent between", value1, value2, "changePercent");
            return (Criteria) this;
        }

        public Criteria andChangePercentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("change_percent not between", value1, value2, "changePercent");
            return (Criteria) this;
        }

        public Criteria andBuyIsNull() {
            addCriterion("buy is null");
            return (Criteria) this;
        }

        public Criteria andBuyIsNotNull() {
            addCriterion("buy is not null");
            return (Criteria) this;
        }

        public Criteria andBuyEqualTo(String value) {
            addCriterion("buy =", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyNotEqualTo(String value) {
            addCriterion("buy <>", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyGreaterThan(String value) {
            addCriterion("buy >", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyGreaterThanOrEqualTo(String value) {
            addCriterion("buy >=", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyLessThan(String value) {
            addCriterion("buy <", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyLessThanOrEqualTo(String value) {
            addCriterion("buy <=", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyLike(String value) {
            addCriterion("buy like", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyNotLike(String value) {
            addCriterion("buy not like", value, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyIn(List<String> values) {
            addCriterion("buy in", values, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyNotIn(List<String> values) {
            addCriterion("buy not in", values, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyBetween(String value1, String value2) {
            addCriterion("buy between", value1, value2, "buy");
            return (Criteria) this;
        }

        public Criteria andBuyNotBetween(String value1, String value2) {
            addCriterion("buy not between", value1, value2, "buy");
            return (Criteria) this;
        }

        public Criteria andSellIsNull() {
            addCriterion("sell is null");
            return (Criteria) this;
        }

        public Criteria andSellIsNotNull() {
            addCriterion("sell is not null");
            return (Criteria) this;
        }

        public Criteria andSellEqualTo(String value) {
            addCriterion("sell =", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellNotEqualTo(String value) {
            addCriterion("sell <>", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellGreaterThan(String value) {
            addCriterion("sell >", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellGreaterThanOrEqualTo(String value) {
            addCriterion("sell >=", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellLessThan(String value) {
            addCriterion("sell <", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellLessThanOrEqualTo(String value) {
            addCriterion("sell <=", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellLike(String value) {
            addCriterion("sell like", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellNotLike(String value) {
            addCriterion("sell not like", value, "sell");
            return (Criteria) this;
        }

        public Criteria andSellIn(List<String> values) {
            addCriterion("sell in", values, "sell");
            return (Criteria) this;
        }

        public Criteria andSellNotIn(List<String> values) {
            addCriterion("sell not in", values, "sell");
            return (Criteria) this;
        }

        public Criteria andSellBetween(String value1, String value2) {
            addCriterion("sell between", value1, value2, "sell");
            return (Criteria) this;
        }

        public Criteria andSellNotBetween(String value1, String value2) {
            addCriterion("sell not between", value1, value2, "sell");
            return (Criteria) this;
        }

        public Criteria andSettlementIsNull() {
            addCriterion("settlement is null");
            return (Criteria) this;
        }

        public Criteria andSettlementIsNotNull() {
            addCriterion("settlement is not null");
            return (Criteria) this;
        }

        public Criteria andSettlementEqualTo(String value) {
            addCriterion("settlement =", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotEqualTo(String value) {
            addCriterion("settlement <>", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThan(String value) {
            addCriterion("settlement >", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementGreaterThanOrEqualTo(String value) {
            addCriterion("settlement >=", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementLessThan(String value) {
            addCriterion("settlement <", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementLessThanOrEqualTo(String value) {
            addCriterion("settlement <=", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementLike(String value) {
            addCriterion("settlement like", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotLike(String value) {
            addCriterion("settlement not like", value, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementIn(List<String> values) {
            addCriterion("settlement in", values, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotIn(List<String> values) {
            addCriterion("settlement not in", values, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementBetween(String value1, String value2) {
            addCriterion("settlement between", value1, value2, "settlement");
            return (Criteria) this;
        }

        public Criteria andSettlementNotBetween(String value1, String value2) {
            addCriterion("settlement not between", value1, value2, "settlement");
            return (Criteria) this;
        }

        public Criteria andOpenIsNull() {
            addCriterion("open is null");
            return (Criteria) this;
        }

        public Criteria andOpenIsNotNull() {
            addCriterion("open is not null");
            return (Criteria) this;
        }

        public Criteria andOpenEqualTo(String value) {
            addCriterion("open =", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenNotEqualTo(String value) {
            addCriterion("open <>", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenGreaterThan(String value) {
            addCriterion("open >", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenGreaterThanOrEqualTo(String value) {
            addCriterion("open >=", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenLessThan(String value) {
            addCriterion("open <", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenLessThanOrEqualTo(String value) {
            addCriterion("open <=", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenLike(String value) {
            addCriterion("open like", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenNotLike(String value) {
            addCriterion("open not like", value, "open");
            return (Criteria) this;
        }

        public Criteria andOpenIn(List<String> values) {
            addCriterion("open in", values, "open");
            return (Criteria) this;
        }

        public Criteria andOpenNotIn(List<String> values) {
            addCriterion("open not in", values, "open");
            return (Criteria) this;
        }

        public Criteria andOpenBetween(String value1, String value2) {
            addCriterion("open between", value1, value2, "open");
            return (Criteria) this;
        }

        public Criteria andOpenNotBetween(String value1, String value2) {
            addCriterion("open not between", value1, value2, "open");
            return (Criteria) this;
        }

        public Criteria andHighIsNull() {
            addCriterion("high is null");
            return (Criteria) this;
        }

        public Criteria andHighIsNotNull() {
            addCriterion("high is not null");
            return (Criteria) this;
        }

        public Criteria andHighEqualTo(String value) {
            addCriterion("high =", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotEqualTo(String value) {
            addCriterion("high <>", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighGreaterThan(String value) {
            addCriterion("high >", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighGreaterThanOrEqualTo(String value) {
            addCriterion("high >=", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighLessThan(String value) {
            addCriterion("high <", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighLessThanOrEqualTo(String value) {
            addCriterion("high <=", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighLike(String value) {
            addCriterion("high like", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotLike(String value) {
            addCriterion("high not like", value, "high");
            return (Criteria) this;
        }

        public Criteria andHighIn(List<String> values) {
            addCriterion("high in", values, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotIn(List<String> values) {
            addCriterion("high not in", values, "high");
            return (Criteria) this;
        }

        public Criteria andHighBetween(String value1, String value2) {
            addCriterion("high between", value1, value2, "high");
            return (Criteria) this;
        }

        public Criteria andHighNotBetween(String value1, String value2) {
            addCriterion("high not between", value1, value2, "high");
            return (Criteria) this;
        }

        public Criteria andLowIsNull() {
            addCriterion("low is null");
            return (Criteria) this;
        }

        public Criteria andLowIsNotNull() {
            addCriterion("low is not null");
            return (Criteria) this;
        }

        public Criteria andLowEqualTo(String value) {
            addCriterion("low =", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotEqualTo(String value) {
            addCriterion("low <>", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowGreaterThan(String value) {
            addCriterion("low >", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowGreaterThanOrEqualTo(String value) {
            addCriterion("low >=", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowLessThan(String value) {
            addCriterion("low <", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowLessThanOrEqualTo(String value) {
            addCriterion("low <=", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowLike(String value) {
            addCriterion("low like", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotLike(String value) {
            addCriterion("low not like", value, "low");
            return (Criteria) this;
        }

        public Criteria andLowIn(List<String> values) {
            addCriterion("low in", values, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotIn(List<String> values) {
            addCriterion("low not in", values, "low");
            return (Criteria) this;
        }

        public Criteria andLowBetween(String value1, String value2) {
            addCriterion("low between", value1, value2, "low");
            return (Criteria) this;
        }

        public Criteria andLowNotBetween(String value1, String value2) {
            addCriterion("low not between", value1, value2, "low");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNull() {
            addCriterion("volume is null");
            return (Criteria) this;
        }

        public Criteria andVolumeIsNotNull() {
            addCriterion("volume is not null");
            return (Criteria) this;
        }

        public Criteria andVolumeEqualTo(Long value) {
            addCriterion("volume =", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotEqualTo(Long value) {
            addCriterion("volume <>", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThan(Long value) {
            addCriterion("volume >", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeGreaterThanOrEqualTo(Long value) {
            addCriterion("volume >=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThan(Long value) {
            addCriterion("volume <", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeLessThanOrEqualTo(Long value) {
            addCriterion("volume <=", value, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeIn(List<Long> values) {
            addCriterion("volume in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotIn(List<Long> values) {
            addCriterion("volume not in", values, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeBetween(Long value1, Long value2) {
            addCriterion("volume between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andVolumeNotBetween(Long value1, Long value2) {
            addCriterion("volume not between", value1, value2, "volume");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(Long value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(Long value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(Long value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(Long value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(Long value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<Long> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<Long> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(Long value1, Long value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(Long value1, Long value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andTickTimeIsNull() {
            addCriterion("tick_time is null");
            return (Criteria) this;
        }

        public Criteria andTickTimeIsNotNull() {
            addCriterion("tick_time is not null");
            return (Criteria) this;
        }

        public Criteria andTickTimeEqualTo(String value) {
            addCriterion("tick_time =", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeNotEqualTo(String value) {
            addCriterion("tick_time <>", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeGreaterThan(String value) {
            addCriterion("tick_time >", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeGreaterThanOrEqualTo(String value) {
            addCriterion("tick_time >=", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeLessThan(String value) {
            addCriterion("tick_time <", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeLessThanOrEqualTo(String value) {
            addCriterion("tick_time <=", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeLike(String value) {
            addCriterion("tick_time like", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeNotLike(String value) {
            addCriterion("tick_time not like", value, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeIn(List<String> values) {
            addCriterion("tick_time in", values, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeNotIn(List<String> values) {
            addCriterion("tick_time not in", values, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeBetween(String value1, String value2) {
            addCriterion("tick_time between", value1, value2, "tickTime");
            return (Criteria) this;
        }

        public Criteria andTickTimeNotBetween(String value1, String value2) {
            addCriterion("tick_time not between", value1, value2, "tickTime");
            return (Criteria) this;
        }

        public Criteria andPerIsNull() {
            addCriterion("per is null");
            return (Criteria) this;
        }

        public Criteria andPerIsNotNull() {
            addCriterion("per is not null");
            return (Criteria) this;
        }

        public Criteria andPerEqualTo(BigDecimal value) {
            addCriterion("per =", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerNotEqualTo(BigDecimal value) {
            addCriterion("per <>", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerGreaterThan(BigDecimal value) {
            addCriterion("per >", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("per >=", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerLessThan(BigDecimal value) {
            addCriterion("per <", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerLessThanOrEqualTo(BigDecimal value) {
            addCriterion("per <=", value, "per");
            return (Criteria) this;
        }

        public Criteria andPerIn(List<BigDecimal> values) {
            addCriterion("per in", values, "per");
            return (Criteria) this;
        }

        public Criteria andPerNotIn(List<BigDecimal> values) {
            addCriterion("per not in", values, "per");
            return (Criteria) this;
        }

        public Criteria andPerBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("per between", value1, value2, "per");
            return (Criteria) this;
        }

        public Criteria andPerNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("per not between", value1, value2, "per");
            return (Criteria) this;
        }

        public Criteria andPbIsNull() {
            addCriterion("pb is null");
            return (Criteria) this;
        }

        public Criteria andPbIsNotNull() {
            addCriterion("pb is not null");
            return (Criteria) this;
        }

        public Criteria andPbEqualTo(BigDecimal value) {
            addCriterion("pb =", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbNotEqualTo(BigDecimal value) {
            addCriterion("pb <>", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbGreaterThan(BigDecimal value) {
            addCriterion("pb >", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("pb >=", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbLessThan(BigDecimal value) {
            addCriterion("pb <", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbLessThanOrEqualTo(BigDecimal value) {
            addCriterion("pb <=", value, "pb");
            return (Criteria) this;
        }

        public Criteria andPbIn(List<BigDecimal> values) {
            addCriterion("pb in", values, "pb");
            return (Criteria) this;
        }

        public Criteria andPbNotIn(List<BigDecimal> values) {
            addCriterion("pb not in", values, "pb");
            return (Criteria) this;
        }

        public Criteria andPbBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pb between", value1, value2, "pb");
            return (Criteria) this;
        }

        public Criteria andPbNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("pb not between", value1, value2, "pb");
            return (Criteria) this;
        }

        public Criteria andMktCapIsNull() {
            addCriterion("mkt_cap is null");
            return (Criteria) this;
        }

        public Criteria andMktCapIsNotNull() {
            addCriterion("mkt_cap is not null");
            return (Criteria) this;
        }

        public Criteria andMktCapEqualTo(BigDecimal value) {
            addCriterion("mkt_cap =", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapNotEqualTo(BigDecimal value) {
            addCriterion("mkt_cap <>", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapGreaterThan(BigDecimal value) {
            addCriterion("mkt_cap >", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("mkt_cap >=", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapLessThan(BigDecimal value) {
            addCriterion("mkt_cap <", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapLessThanOrEqualTo(BigDecimal value) {
            addCriterion("mkt_cap <=", value, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapIn(List<BigDecimal> values) {
            addCriterion("mkt_cap in", values, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapNotIn(List<BigDecimal> values) {
            addCriterion("mkt_cap not in", values, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("mkt_cap between", value1, value2, "mktCap");
            return (Criteria) this;
        }

        public Criteria andMktCapNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("mkt_cap not between", value1, value2, "mktCap");
            return (Criteria) this;
        }

        public Criteria andNmcIsNull() {
            addCriterion("nmc is null");
            return (Criteria) this;
        }

        public Criteria andNmcIsNotNull() {
            addCriterion("nmc is not null");
            return (Criteria) this;
        }

        public Criteria andNmcEqualTo(BigDecimal value) {
            addCriterion("nmc =", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcNotEqualTo(BigDecimal value) {
            addCriterion("nmc <>", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcGreaterThan(BigDecimal value) {
            addCriterion("nmc >", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("nmc >=", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcLessThan(BigDecimal value) {
            addCriterion("nmc <", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcLessThanOrEqualTo(BigDecimal value) {
            addCriterion("nmc <=", value, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcIn(List<BigDecimal> values) {
            addCriterion("nmc in", values, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcNotIn(List<BigDecimal> values) {
            addCriterion("nmc not in", values, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("nmc between", value1, value2, "nmc");
            return (Criteria) this;
        }

        public Criteria andNmcNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("nmc not between", value1, value2, "nmc");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioIsNull() {
            addCriterion("turnover_ratio is null");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioIsNotNull() {
            addCriterion("turnover_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioEqualTo(BigDecimal value) {
            addCriterion("turnover_ratio =", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioNotEqualTo(BigDecimal value) {
            addCriterion("turnover_ratio <>", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioGreaterThan(BigDecimal value) {
            addCriterion("turnover_ratio >", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("turnover_ratio >=", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioLessThan(BigDecimal value) {
            addCriterion("turnover_ratio <", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioLessThanOrEqualTo(BigDecimal value) {
            addCriterion("turnover_ratio <=", value, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioIn(List<BigDecimal> values) {
            addCriterion("turnover_ratio in", values, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioNotIn(List<BigDecimal> values) {
            addCriterion("turnover_ratio not in", values, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("turnover_ratio between", value1, value2, "turnoverRatio");
            return (Criteria) this;
        }

        public Criteria andTurnoverRatioNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("turnover_ratio not between", value1, value2, "turnoverRatio");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}